/**
 * This is the PerformeCollaborator Interface.
 * It's containes business logic declarations
 * related to the collaborator entity.
 * The logic methods are implemented on the
 * PerformeProjects class.
 * 
 * @author SIDIBE Tididiane
 */
package com.teamreinforce.ejb.model;

import com.teamreinforce.ejb.entities.Collaborateur;
import com.teamreinforce.ejb.entities.Projet;
import com.teamreinforce.ejb.entities.Tache;
import java.util.List;
import javax.ejb.Remote;

@Remote
public interface IPerformeCollaborator {
    
    /**
     * Creats a collaborator
     * @param prenom
     * @param nom
     * @param telephone
     * @param portable
     * @param email
     * @param login
     * @param password
     * @param est_admin
     * @return 
     */
    public void createCollaborateur (String prenom, String nom,String telephone,String portable, String email, String login,String password, boolean est_admin );
    /**
     * Get all the collaborators 
     * @return 
     */
    public List<Collaborateur> getAllCollaborators ();
    /**
     * Get the right collaborator with
     * the specified cretential informations
     * when a collaborator is getting loged in
     * @param login
     * @param password
     * @return 
     */
    public Collaborateur getCollaborator (String login, String password);
    
    /**
     * Gets all the task the collabor for 
     * the given project
     * @param project
     * @param collaborator
     * @return 
     */
    public List<Tache> getCollaboratorTasks(Projet project, Collaborateur collaborator);
    
    /**
     * Gets the collaborator corresponding to the 
     * given login
     * @param login
     * @return 
     */
    public Collaborateur getCollaboratorByLogin (String login);
}
